home *** CD-ROM | disk | FTP | other *** search
/ Maclife 157 / MACLIFE157-2001-09.ISO.7z / MACLIFE157-2001-09.ISO / Linux / MacOS Tools / Other / BootX 1.1.3 (for Old Mac OS) / Sources / src / processor.h < prev   
C/C++ Source or Header  |  2001-07-23  |  4KB  |  138 lines

  1. /* Modified version of Linux asm-ppc/processor.h */
  2.  
  3. #ifndef __PPC_PROCESSOR_H__
  4. #define __PPC_PROCESSOR_H__
  5.  
  6. /* Bit encodings for Machine State Register (MSR) */
  7. #define MSR_POW        (1<<18)        /* Enable Power Management */
  8. #define MSR_TGPR    (1<<17)        /* TLB Update registers in use */
  9. #define MSR_ILE        (1<<16)        /* Interrupt Little-Endian enable */
  10. #define MSR_EE        (1<<15)        /* External Interrupt enable */
  11. #define MSR_PR        (1<<14)        /* Supervisor/User privilege */
  12. #define MSR_FP        (1<<13)        /* Floating Point enable */
  13. #define MSR_ME        (1<<12)        /* Machine Check enable */
  14. #define MSR_FE0        (1<<11)        /* Floating Exception mode 0 */
  15. #define MSR_SE        (1<<10)        /* Single Step */
  16. #define MSR_BE        (1<<9)        /* Branch Trace */
  17. #define MSR_FE1        (1<<8)        /* Floating Exception mode 1 */
  18. #define MSR_IP        (1<<6)        /* Exception prefix 0x000/0xFFF */
  19. #define MSR_IR        (1<<5)        /* Instruction MMU enable */
  20. #define MSR_DR        (1<<4)        /* Data MMU enable */
  21. #define MSR_RI        (1<<1)        /* Recoverable Exception */
  22. #define MSR_LE        (1<<0)        /* Little-Endian enable */
  23.  
  24. /* Bit encodings for Hardware Implementation Register (HID0)
  25.    on PowerPC 603, 604, etc. processors (not 601). */
  26. #define HID0_EMCP    (1<<31)        /* Enable Machine Check pin */
  27. #define HID0_EBA    (1<<29)        /* Enable Bus Address Parity */
  28. #define HID0_EBD    (1<<28)        /* Enable Bus Data Parity */
  29. #define HID0_SBCLK    (1<<27)
  30. #define HID0_EICE    (1<<26)
  31. #define HID0_ECLK    (1<<25)
  32. #define HID0_PAR    (1<<24)
  33. #define HID0_DOZE    (1<<23)
  34. #define HID0_NAP    (1<<22)
  35. #define HID0_SLEEP    (1<<21)
  36. #define HID0_DPM    (1<<20)
  37. #define HID0_ICE    (1<<15)        /* Instruction Cache Enable */
  38. #define HID0_DCE    (1<<14)        /* Data Cache Enable */
  39. #define HID0_ILOCK    (1<<13)        /* Instruction Cache Lock */
  40. #define HID0_DLOCK    (1<<12)        /* Data Cache Lock */
  41. #define HID0_ICFI    (1<<11)        /* Instruction Cache Flash Invalidate */
  42. #define HID0_DCI    (1<<10)        /* Data Cache Invalidate */
  43. #define HID0_SIED    (1<<7)        /* Serial Instruction Execution [Disable] */
  44. #define HID0_BHTE    (1<<2)        /* Branch History Table Enable */
  45. #define HID0_BTCD    (1<<1)        /* Branch target cache disable */
  46.  
  47. /* fpscr settings */
  48. #define FPSCR_FX        (1<<31)
  49. #define FPSCR_FEX       (1<<30)
  50.  
  51. #define    TBRU    269    /* Time base Upper/Lower (Reading) */
  52. #define    TBRL    268
  53. #define TBWU    284    /* Time base Upper/Lower (Writing) */
  54. #define TBWL    285
  55. #define    XER    1
  56. #define LR    8
  57. #define CTR    9
  58. #define HID0    1008    /* Hardware Implementation */
  59. #define PVR    287    /* Processor Version */
  60. #define IBAT0U    528    /* Instruction BAT #0 Upper/Lower */
  61. #define IBAT0L    529
  62. #define IBAT1U    530    /* Instruction BAT #1 Upper/Lower */
  63. #define IBAT1L    531
  64. #define IBAT2U    532    /* Instruction BAT #2 Upper/Lower */
  65. #define IBAT2L    533
  66. #define IBAT3U    534    /* Instruction BAT #3 Upper/Lower */
  67. #define IBAT3L    535
  68. #define DBAT0U    536    /* Data BAT #0 Upper/Lower */
  69. #define DBAT0L    537
  70. #define DBAT1U    538    /* Data BAT #1 Upper/Lower */
  71. #define DBAT1L    539
  72. #define DBAT2U    540    /* Data BAT #2 Upper/Lower */
  73. #define DBAT2L    541
  74. #define DBAT3U    542    /* Data BAT #3 Upper/Lower */
  75. #define DBAT3L    543
  76. #define DMISS    976    /* TLB Lookup/Refresh registers */
  77. #define DCMP    977
  78. #define HASH1    978
  79. #define HASH2    979
  80. #define IMISS    980
  81. #define ICMP    981
  82. #define RPA    982
  83. #define SDR1    25    /* MMU hash base register */
  84. #define DAR    19    /* Data Address Register */
  85. #define SPR0    272    /* Supervisor Private Registers */
  86. #define SPRG0   272
  87. #define SPR1    273
  88. #define SPRG1   273
  89. #define SPR2    274
  90. #define SPRG2   274
  91. #define SPR3    275
  92. #define SPRG3   275
  93. #define DSISR    18
  94. #define SRR0    26    /* Saved Registers (exception) */
  95. #define SRR1    27
  96. #define IABR    1010    /* Instruction Address Breakpoint */
  97. #define DEC    22    /* Decrementer */
  98. #define EAR    282    /* External Address Register */
  99. #define L2CR    1017    /* PPC 750 L2 control register */
  100.  
  101. #define THRM1    1020
  102. #define THRM2    1021
  103. #define THRM3    1022
  104. #define THRM1_TIN 0x1
  105. #define THRM1_TIV 0x2
  106. #define THRM1_THRES (0x7f<<2)
  107. #define THRM1_TID (1<<29)
  108. #define THRM1_TIE (1<<30)
  109. #define THRM1_V   (1<<31)
  110. #define THRM3_E   (1<<31)
  111.  
  112. /* Segment Registers */
  113. #define SR0    0
  114. #define SR1    1
  115. #define SR2    2
  116. #define SR3    3
  117. #define SR4    4
  118. #define SR5    5
  119. #define SR6    6
  120. #define SR7    7
  121. #define SR8    8
  122. #define SR9    9
  123. #define SR10    10
  124. #define SR11    11
  125. #define SR12    12
  126. #define SR13    13
  127. #define SR14    14
  128. #define SR15    15
  129.   
  130. #endif /* __PPC_PROCESSOR_H__ */
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.